package com.example.demo.generator.dto;

import javax.validation.constraints.NotBlank;

/**
 * Request payload for the lightweight SQL parse preview endpoint.
 */
public class SqlParseRequest {

    /**
     * 待解析的 SQL 文本。
     */
    @NotBlank(message = "SQL 文本不能为空")
    private String sql;

    /**
     * 解析模式: create/select/fallback
     */
    @NotBlank(message = "解析模式不能为空")
    private String mode;

    /**
     * 需要忽略的表名前缀。
     */
    private String ignorePrefix;

    /**
     * 字段命名转换策略。
     */
    private String nameCaseType;

    /**
     * 是否强制走正则回退解析流程。
     */
    private boolean fallback;

    public String getSql() {
        return sql;
    }

    public void setSql(String sql) {
        this.sql = sql;
    }

    public String getMode() {
        return mode;
    }

    public void setMode(String mode) {
        this.mode = mode;
    }

    public String getIgnorePrefix() {
        return ignorePrefix;
    }

    public void setIgnorePrefix(String ignorePrefix) {
        this.ignorePrefix = ignorePrefix;
    }

    public String getNameCaseType() {
        return nameCaseType;
    }

    public void setNameCaseType(String nameCaseType) {
        this.nameCaseType = nameCaseType;
    }

    public boolean isFallback() {
        return fallback;
    }

    public void setFallback(boolean fallback) {
        this.fallback = fallback;
    }
}
